home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
A-Monthly Disks
/
(c)abl.d64
/
FIX
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
6KB
|
171 lines
0 GOTO100
1 SYS52440:A$=LEFT$(SP$,A1%):SYS52360:RETURN
10 SYS52300:IFA1%<0THEN20
12 A$=LEFT$(SP$,A1%):SYS52360:GOSUB810:O$=A$:RETURN
20 PRINT"[212][197]":GOTO900
25 SYS52340:RETURN
30 PRINT"[152]";:GOSUB60:SYS52310:GOSUB50:RETURN
50 FORKK=1TO300:IFPEEK(669)<>PEEK(670)THENNEXTKK
51 RETURN
55 SYS52340:RETURN
60 IFLL=1OR(PEEK(56577)AND16)=THTHENRETURN
61 GOTO900
65 POKE659,6+ABS((BD=1200)*2):C=1022730/BD:GOSUB90:POKE51968,A2%:POKE51969,A1%
66 IFBD=1200THENC=1022730/BD*.966:GOSUB90
67 POKE665,A2%:POKE666,A1%:C=1022730/BD/2-100:GOSUB90:POKE661,A2%:POKE662,A1%
68 RETURN
70 B$="[164]"
71 SYS52450:B$="":IFA1%>0THENB$=LEFT$(A$,A1%-1):RETURN
72 B$=A$:RETURN
75 A$=LEFT$(A$,C):A$=A$+LEFT$(SP$,C-LEN(A$)):RETURN
77 A$=LEFT$(A$,C):IFLEN(A$)<CTHENA$=A$+"[164]":GOTO77
78 RETURN
80 A$="":SYS52320:IFA2%=0THENRETURN
82 IFA2%=1ORA2%=3ORA2%=16ORA2%=9THENA$="[193]":RETURN
84 IFA2%<>83ANDA2%<>19THENRETURN
86 FORKK=1TO2E3:SYS52320:IFA2%=0THEN89
87 IFA2%=17ORA2%=67THENKK=2E3
88 IFA2%=65ORA2%=13THENA$="[193]":KK=2E3
89 NEXTKK:RETURN
90 A1%=C/256:A2%=C-A1%*256:RETURN
94 GOSUB30:IFIT$=""THENGOSUB10:IT$=A$:GOSUB97:RETURN
95 GOSUB97:IFPEEK(679)<>1THENGOSUB30:O$=A$:A$="":GOSUB30:A$=O$
96 RETURN
97 A$=IT$:B$=":":GOSUB71:IFA1%=0THENIT$="":RETURN
98 IT$=MID$(A$,A1%+1):A$=B$:RETURN
100 OPEN5,2,0:A1%=1:A2%=1:FORK=1TO127:SP$=SP$+" ":NEXTK:A$=""
105 A1%=0:GOSUB1:RK$=A$:OPEN1,8,15,"I0":CLOSE1
110 A1%=1:GOSUB1:BD=VAL(LEFT$(A$,5)):LL=VAL(MID$(A$,6)):A1%=2:GOSUB1:TH=VAL(A$)
115 A1%=3:GOSUB1:IT$=A$:GOSUB65:GOSUB800
125 GOSUB80
130 A$=""+LEFT$(SP$,126):FORK=0TO15:A1%=K:SYS52480:NEXTK
150 A$="[147][204]OADING CONTROL RECORD...":GOSUB30
160 OPEN2,8,2,"0:/USER":A$=LEFT$(SP$,115):SYS52390:TU=VAL(A$):LL$=A$:FORK=1TO8
165 A$=MID$(LL$,5+(K-1)*10,10):GOSUB70:AA$(K)=B$:NEXTK:VL=VAL(MID$(LL$,85,4))
170 TD%=VAL(MID$(B$,90,4)):A$=MID$(LL$,95,10):GOSUB70:MS$(1)=B$:MS$=B$:CLOSE2
175 FORK=2TO8:MS$(K)=MID$(LL$,105+K,1):IFMS$(K)=""THENMS$(K)="A"
180 NEXTK:TH=ASC(MID$(LL$,106,1))
200 A$="[147]"+"[[213]]SERS:"+STR$(TU)+" [211]YSTEM [[214]]ALIDATE [204]VL:"+STR$(VL)+"":GOSUB30
210 FORK=1TO8:A$=STR$(K)+")"+" "+AA$(K):IFAA$(K)=""THENMS$(K)=" "
215 A$=A$+LEFT$(SP$,20-LEN(A$))+"[196]:"+MS$(K)+"":GOSUB30:NEXTK
217 GOSUB80:IFA$="[193]"THEN230
219 A$="[[197]]MAIL AREAS":GOSUB30
220 IFTH=1ORTH=3ORTH=5THENA$="* [206]OT [211]ET *":GOTO222
221 A$="[212]YPE #"+STR$(TH):IFTH=15ORTH=13ORTH=11ORTH=9ORTH=7THENA$="* [206]OT [211]ET *"
222 IFTH=16THENA$="[200]AYES"
223 IFTH=0THENA$="1670"
225 A$="[[205]]ODEM: "+A$:GOSUB30
230 A$="[197]NTER FIELD OR ?, [211] TO [211]AVE [209] TO [209]UIT> ":GOSUB94:IFA$="?"THEN200
235 GOSUB55:IFA$="[214]"THENA$="[214]AL LVL: ":GOSUB94:IFVAL(A$)<8THENVL=VAL(A$)
240 IFVAL(A$)>0ANDVAL(A$)<9THENGOSUB300
245 IFA$="[213]"THENA$="[213]SERS: ":GOSUB94:IFVAL(A$)<512ANDVAL(A$)>0THENTU=VAL(A$)
250 IFA$="[205]"THENGOSUB1000:GOTO220
270 IFA$="[197]"THEN400
275 IFA$="[209]"THEN900
280 IFA$<>"[211]"THEN299
282 A$="[215]RITING NEW CONTROL RECORD..":GOSUB30
285 A$=STR$(TU):C=4:GOSUB75:LL$=A$:FORK=1TO8
287 A$=AA$(K):C=10:GOSUB77:LL$=LL$+A$:NEXTK:A$=LL$+STR$(VL):C=89:GOSUB75
289 A$=A$+STR$(TD%):C=94:GOSUB75:A$=A$+MS$(1):C=105:GOSUB77:A$=A$+CHR$(TH)
291 FORK=2TO8:MS$(K)=LEFT$(MS$(K),1):A$=A$+MS$(K):NEXTK
293 OPEN2,8,2,"0:/USER":PRINT#2,A$:CLOSE2:RUN
299 GOTO230
300 A=VAL(A$):A$="'*' [196]ELETES":GOSUB30
305 A$="[193]REA"+STR$(A)+" NAME? ":GOSUB94:IFA$=""THENRETURN
310 A$=LEFT$(A$,10):IFA$="*"THENAA$(A)="":RETURN
315 AA$(A)=A$:A$="[204]OCATION: ":GOSUB94:IFA$=""THENRETURN
320 MS$(A)=A$:RETURN
400 AR$="":A$="[215]HICH BASE? ":GOSUB94:RA=VAL(A$):IFRA<1ORRA>8ORAA$(RA)=""THEN210
410 MS$=MS$(RA):GOSUB700
411 IFMX>0THEN420
412 A$="[195]REATE THIS BASE? ":GOSUB94:GOSUB55:IFLEFT$(A$,1)<>"[217]"THEN420
413 OPEN4,DV,4,DU$+"/MAIL"+AR$+",L,"+CHR$(127):PRINT#4,"ZOOID 781-7013"
414 FORK=1TO8:AR$(K)="":NEXTK:DM%=0:MM%=0:MX=0
415 CLOSE4:FM%=0:LM%=1:NM%=3:DM%=0:GOTO420
420 A$="[147]":GOSUB30
421 A$="[[200]]IGH:"+STR$(LM%)+" [[204]]OW:"+STR$(FM%)+"[[212]]OP :"+STR$(NM%)
425 A$=A$+" [[205]]AX:"+STR$(MX)+"":GOSUB30
427 GOSUB80:IFA$="[193]"THEN455
430 FORK=1TO8:A$=STR$(K)+") "+AR$(K)+"":GOSUB30:NEXTK
435 GOSUB80:IFA$="[193]"THEN455
450 A$="[193]REA: "+AA$(RA)+" [196]: "+MS$+"":GOSUB30
452 A$="[[193][213][212][207]]: [193]UTO REBUILD UTILITY":GOSUB30
455 A$="[197]NTER FIELD, ?, [211], [209]> ":GOSUB94:GOSUB55:IFA$="?"THEN420
456 IFA$="[193][213][212][207]"THEN600
457 IFVAL(A$)>0THENGOSUB500
460 IFA$="[200]"THENA$="[206]EW HIGH? ":GOSUB94:IFVAL(A$)>0THENLM%=VAL(A$):GOTO455
465 IFA$="[204]"THENA$="[206]EW LOW? ":GOSUB94:IFVAL(A$)>0THENFM%=VAL(A$):GOTO455
470 IFA$="[205]"THENA$="[205]AX MSGS? ":GOSUB94:IFVAL(A$)>0THENMX=VAL(A$):GOTO455
475 IFA$="[212]"THENA$="[212]OP MSG? ":GOSUB94:IFVAL(A$)>0THENNM%=VAL(A$):GOTO455
477 IFA$="[209]"THEN200
479 IFA$<>"[211]"THEN499
490 OPEN1,8,15:OPEN2,DV,2,DU$+"/MAIL"+AR$
492 A$=MID$(STR$(FM%),2,5):C=5:GOSUB75:A$=A$+MID$(STR$(LM%),2,5):C=10:GOSUB75
493 A$=A$+MID$(STR$(NM%),2,5):C=15:GOSUB75:A$=A$+MID$(STR$(MM%),2,5)
494 C=20:GOSUB75:A$=A$+MID$(STR$(DM%),2,5):C=30:GOSUB77
495 FORK=1TO8:A$=A$+AR$(K):C=30+K*10:GOSUB77:NEXTK:A$=A$+STR$(MX):GOSUB670
496 PRINT#1,"P"+CHR$(98)+CHR$(1)+CHR$(0);:PRINT#2,A$:CLOSE2
497 PRINT#1,"I0":CLOSE1
499 GOTO455
500 A=VAL(A$):IFA>8THENRETURN
505 A$="'*' [196]ELETES":GOSUB30
510 A$="[195]AT"+STR$(A)+" NAME? ":GOSUB94:IFA$=""THENRETURN
515 IFA$="*"THENAR$(A)="":RETURN
520 AR$(A)=A$:RETURN
600 A$="[147][211]TANDBY. ":GOSUB30:OPEN2,DV,2,DU$+"/MAIL"+AR$:C=1:OPEN1,DV,15
601 FM%=32000:LM%=0
605 C=C+1:A1%=C/256:A2%=C-A1%*256:PRINT#1,"P"+CHR$(98)+CHR$(A2%)+CHR$(A1%);
607 A$=CHR$(0):GOSUB30
610 A$=LEFT$(SP$,2):SYS52390:A=ASC(LEFT$(A$,1))*256+ASC(MID$(A$,2))
611 IFA>32767THEN605
612 PRINTC,A"[145]":INPUT#1,B:IFB=50THEN650
615 IFA>LM%THENLM%=A
617 IFA<FM%THENFM%=A
620 IFLM%>ATHEN650
649 GOTO605
650 NM%=C:A$="[198]OUND [197][207][198].":LM%=LM%+1:GOSUB30:CLOSE1:CLOSE2
655 FORA=1TO8:A$=STR$(A):GOSUB500:NEXTA:A$="[210]ECOVERY COMPLETE.":GOSUB30
659 IT$="[205]":GOTO421
670 B$=A$:A$="[213]PDATING HEADER.":GOSUB30:A$=B$:RETURN
700 A=ASC(MS$)-65:DV=INT(A/2)--8:DU$="1:":IFDV=A/2+8THENDU$="0:"
702 DV=ABS(DV):IFRA>1THENAR$=STR$(RA)
705 IFDV>12ORDV<8THENDV=8:DU$="0:":A$="<[196]EFAULTED TO 8:0>":GOSUB30:MS$(RA)="A"
710 OPEN1,DV,15:IFMID$(MS$,2)=""THEN740
720 PRINT#1,"/0:"+MID$(MS$,2):A$="[207]PENING "+MID$(MS$,2)+" PARTITION":GOSUB30
740 CLOSE1:OPEN2,DV,2,DU$+"/MAIL"+AR$:A$=LEFT$(SP$,127):SYS52390:CLOSE2
745 LM%=VAL(MID$(A$,5,5)):FM%=VAL(LEFT$(A$,5))
750 NM%=VAL(MID$(A$,11,5)):MM%=VAL(MID$(A$,16,5)):DM%=VAL(MID$(A$,21,5))
755 LL$=A$:FORK=0TO7:A$=MID$(LL$,31+K*10,10):GOSUB70:AR$(K--1)=B$:NEXTK
760 MX=VAL(MID$(LL$,111))
779 RETURN
799 END
800 A$=LEFT$(RK$,30):GOSUB70:N$=B$:SC=ASC(MID$(RK$,37,1)):CW=ASC(MID$(RK$,41,1))
809 RETURN
810 IFA2%<1THENRETURN
815 B$=A$:IFA2%<>67THEN820
816 A$="[195]HAT MODE.":GOSUB30:A1=PEEK(680):A2=PEEK(682):POKE680,37:POKE682,1
818 FORK=0TO1:GOSUB10:K=-(A$="/"):NEXTK:POKE680,A1:POKE682,A2:GOTO850
820 IFA2%<>84THEN825
822 TI$="000010":GOTO850
825 IFA2%=75THEN900
850 GOSUB10:A$=B$+A$:RETURN
860 POKE684,0:OPEN4,8,4,"0:"+F$+",S,R":GET#4,C$
900 A$="([210]ETURNING TO [194][194][211])":GOSUB30:A$=""
905 PRINT:PRINT"[145][145][145][145]SYS52470:REM[145][145][145]"
910 SYS52410:A$=RK$:A1%=-1:SYS52420:A$=STR$(BD)+" "+STR$(LL):A1%=-1:SYS52420
915 A$=STR$(TH):A1%=-1:SYS52420:A$=IT$:A1%=-1:SYS52420
920 POKE631,13:POKE198,1:CLOSE5:END
925 A=VAL(TI$)/100:B=SC*10--10:A=B-A:IFA<0THENA$="[217]":RETURN
930 A=VAL(MID$(STR$(A),2,3)):IFA>3THENRETURN
935 LP=LP--1:IFLP>3THENA$="[217]OU HAVE"+STR$(A)+" MINUTES LEFT.":GOSUB30:LP=0
937 RETURN
1000 IFLL=0THENA$="[204]OCAL SETTING [207][206][204][217]":GOSUB30:RETURN
1005 A$="[211]ET MODEM TYPE:[1] 1670 [2] [200][193][217][197][211] [3] [207]THER> ":GOSUB94
1010 IFA$="1"THENTH=0:RETURN
1020 IFA$="2"THENTH=16:RETURN
1030 IFA$="3"THEN2000
1040 RETURN
2000 A$="[211]ELECT [205]ODEM [207][212][200][197][210] [212]YPE[212]YPE 2,4,6,8,10,12 OR 14 > ":GOSUB94
2010 TH=VAL(A$):IFTH>16ORTH<0THENTH=1
2030 RETURN